﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

//BC107-矩阵转置
//int main()
//{
//	
//	int m = 0;
//	int n = 0;
//	int c = 0;
//	scanf("%d%d", &n, &m);
//	int arr[n+m];
//	int i = 0;
//	for (i = 0; i < n; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	for (i = n; i < (n + m); i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	int j = 0;
//	for (j = 0; j < (n + m); j++)
//	{
//		for (i = j; i < (n + m); i++)
//		{
//			if (arr[j] > arr[i])
//			{
//				c = arr[j];
//				arr[j] = arr[i];
//				arr[i] = c;
//			}
//		}
//	}
//
//	for (i = 0; i < (n + m); i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	
//	return 0;
//}

//二分查找 - 函数实现
//int bin_search(int arr[], int left, int right, int key)
//{
//	// arr 是查找的数组
//	//left 数组的左下标
//	//right 数组的右下标
//	//key 要查找的数字
//	int n = -1;
//	int mid = 0;
//	while (left<=right)
//	{
//		mid = (left + right) / 2;
//		if (arr[mid] > key)
//		{
//			right = mid - 1;
//		}
//		else if (arr[mid] < key)
//		{
//			left = mid + 1;
//		}
//		else
//		{
//			n = mid;
//			break;
//		}
//	}
//	return n;
//
//}
//
//
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	int left = 0, right = sz - 1;
//	int n = bin_search(arr, left, right, 5);
//	if (n != -1)
//		printf("下标为%d", n);
//	else
//		printf("没有找到");
//
//	return 0;
//}

//乘法口诀表

//void mu(int a)
//{
//	//输入9，输出9 * 9口诀表，输出12，输出12 * 12的乘法口诀表。
//	int i = 0;
//	for (i = 1; i <= a; i++)
//	{
//		int j = 0;
//		for (j = i; j <= a; j++)
//		{
//			printf("%d*%d=%d ", i, j, i * j);
//		}
//		printf("\n");
//	}
//}
//int main()
//{
//	int num = 0;
//	scanf("%d", &num);
//	mu(num);
//	return 0;
//}


//使用函数实现数组操作
//创建一个整形数组，完成对数组的操作
//
//实现函数init() 初始化数组为全0
//实现print()  打印数组的每个元素
//实现reverse()  函数完成数组元素的逆置。
//要求：自己设计以上函数的参数，返回值。
void init(int arr[], int sz)
{
	int i = 0;
	for (i = 0; i < sz; i++)
	{
		arr[i] = 0;
	}
	printf("初始化完成!\n");
}
void print(int arr[], int sz)
{
	int i = 0;
	for (i = 0; i < sz; i++)
	{
		printf("%d ", arr[i]);
	}
	printf("\n");
}
void reverse(int arr[], int sz, int left, int right)
{
	int change = 0;
	while (left<=right)
	{
		change = arr[left];
		arr[left] = arr[right];
		arr[right] = change;
		left++;
		right--;
	}
	printf("元素逆置完成!\n");
}

int main() 
{
	int arr[10] = { 0 };
	int sz = sizeof(arr) / sizeof(arr[0]);
	int left = 0, right = sz - 1;
	init(arr, sz);
	print(arr, sz);
	int i = 0;
	for (i = 0; i < sz; i++)
	{
		scanf("%d", &arr[i]);
	}
	reverse(arr, sz, left, right);
	print(arr, sz);
	return 0;
}
